home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 8 / QRZ Ham Radio Callsign Database - Volume 8.iso / pc / files / p_term / ad16dis.exe / TNC2DED.DOC < prev    next >
Text File  |  1990-10-07  |  28KB  |  576 lines

  1.                           AX.25 Version 2
  2.                            Multi-channel
  3.                            TNC  FIRMWARE
  4.  
  5.                            (version 2.5)
  6.  
  7.              Copyright 1987, 1989 Ronald E. Raikes (WA8DED)
  8.  
  9.       This firmware supports the full AX.25  link-layer  protocol,
  10.  version 2.0 as described in the ARRL specification dated  October
  11.  1984,  as  well  as   the   pre-existing   version   1.x.    This
  12.  implementation supports multiple  simultaneous  link  connections
  13.  with either version protocol.  This release has been compiled for
  14.  a maximum of four connections, although any reasonable number  of
  15.  connections is possible by changing  one  MAXLNK  symbol  in  the
  16.  source header file.  The  firmware  is  contained  in  one  26256
  17.  EPROM, and is intended to  be  installed  in  a  TAPR  TNC-2  (or
  18.  equivalent, such as the MFJ-1270 or AEA  PK-80)  in  socket  U23.
  19.  RAM memory is automatically sized, supporting both  16k  and  32k
  20.  configurations.
  21.  
  22.       Commands and information are sent to the tnc in the form  of
  23.  lines.  Lines may be up to 256  characters  long,  including  the
  24.  terminating CARRIAGE RETURN.  If the 256th character  entered  is
  25.  not a CARRIAGE RETURN, it will be discarded and a BELL  character
  26.  will be output to the terminal.  BACKSPACE and DELETE may be used
  27.  to remove single characters from the line.  The entire  line  may
  28.  be permanently backspaced out by entering a CONTROL-U or CONTROL-
  29.  X.  A CONTROL-R will temporarily backspace out any  partial  line
  30.  to allow incoming frames to be  displayed.   A  second  CONTROL-R
  31.  will then restore  the  line  to  allow  continuation  of  entry.
  32.  During the time a partial line is saved, only  another  CONTROL-R
  33.  will be  accepted  from  the  keyboard  (with  the  exception  of
  34.  xon/xoff, of course).  BELL characters are echoed to the terminal
  35.  when entered or  removed.   Lines  which  begin  with  an  ESCAPE
  36.  character (echoed as '* ') are interpreted  as  commands.   If  a
  37.  command is issued with no parameter, the current  value  of  that
  38.  commands parameter is displayed.  Lines without a leading  ESCAPE
  39.  character are sent as information.
  40.  
  41.       The firmware provides the operator  with  five  virtual  tnc
  42.  channels, numbered 0 to 4.  The terminal is logically attached to
  43.  only one of these  channels  at  a  time,  selected  by  the  'S'
  44.  command.  Information sent on channel 0 is always  unproto.   The
  45.  unproto path may be set by issuing a 'C' command when  channel  0
  46.  is selected.  Channels 1 - 4 are also unproto  if  they  are  not
  47.  currently connected.  Outgoing connect requests may be issued  on
  48.  any unconnected channel, while incoming connect requests will use
  49.  the first available  channel  (provided  the  maximum  number  of
  50.  connections set  by  the  'Y'  command  will  not  be  exceeded).
  51.  Information received on a connected channel that is not currently
  52.  selected will remain queued there until that channel is selected.
  53.  The STA led indicates there is queued information,  and  the  'L'
  54.  command may be used to  determine  the  channel(s)  where  it  is
  55.  located.  Information  for  transmission  is  sent  only  to  the
  56.  currently selected channel.  When a connection is ended, received
  57.  information will remain queued until it has been displayed.  If a
  58.  new digipeater path  is  desired  while  a  connection  is  being
  59.  established or is in progress, it is not necessary to  disconnect
  60.  first.  Simply re-issuing the 'C' command will  re-establish  the
  61.  connection via the new path without any loss of information.
  62.  
  63.       Which protocol version is used to initiate a  connection  is
  64.  controlled by the 'V' command, but the version  will  be  changed
  65.  automatically, if necessary, to conform to the version of the tnc
  66.  responding.  Version 2 protocol is more  effecient  in  terms  of
  67.  network  throughput  and   loading,   especially   under   severe
  68.  conditions.  Version 2 protocol is the default and should be used
  69.  whenever possible.  When version 2 protocol is used, a  watch-dog
  70.  timer is started whenever information is not  being  transmitted.
  71.  If the tnc remains idle for three minutes, it will poll the other
  72.  tnc to determine  if  the  link  is  still  established.   If  no
  73.  response is received after the number of tries  set  by  the  'N'
  74.  command, a link failure is reported.  This  procedure  will  also
  75.  detect the case where someone connects and  then  leaves  without
  76.  disconnecting.  Changing the protocol version during a connection
  77.  is not permitted.
  78.  
  79.       The 'F', 'I', 'N', 'O', and 'V' commands maintain individual
  80.  parameters for each channel.  The value stored in  channel  0  is
  81.  used to initialize channels 1 - 4  upon  power  up,  and  to  re-
  82.  initialize channels 1 - 4 after a disconnect.   This  allows  the
  83.  values to be changed independently on each channel, prior to  and
  84.  during a connection, and then automatically revert  back  to  the
  85.  standard values when the connection  is  ended.   A  'D'  command
  86.  issued on a disconnected channel 1 - 4  will  also  re-initialize
  87.  that channel.
  88.  
  89.       Frame monitoring is controlled  by  the  'M'  command.   The
  90.  command parameter determines the types of frames  monitored,  and
  91.  is a list of desired  frames  chosen  from  the  letters  in  the
  92.  following table:
  93.  
  94.       LTR       FRAME
  95.       ---       -----
  96.        N        None
  97.        I        I frames
  98.        U        UI frames
  99.        S        Supervisory frames
  100.        C        Monitor while connected
  101.        +        Call signs to be included (maximum of 8)
  102.        -        Call signs to be excluded (maximum of 8)
  103.  
  104.  The '+' and '-' parameters may not be used together.   If  either
  105.  is used, it must be the last parameter (followed by one to  eight
  106.  callsigns, if applicable).  If no list of callsigns is  specified
  107.  to be included or excluded, all callsigns will be candidates  for
  108.  monitoring.  Entering a '+' or '-' with no callsigns  will  empty
  109.  the list.
  110.  
  111.  An asterisk displayed after a callsign  in  the  digipeater  list
  112.  indicates the frame was transmitted by that station.  The control
  113.  field displayed will be one of the following:
  114.  
  115.       NAME   DESCRIPTION
  116.       ----   -----------
  117.       RRa  - Receive Ready
  118.       RNRa - Receive Not Ready
  119.       REJa - Reject
  120.       UI   - Unnumbered Information
  121.       DM   - Disconnected Mode
  122.       SABM - Connect Request
  123.       DISC - Disconnect Request
  124.       UA   - Unnumbered Acknowledge
  125.       FRMR - Frame Reject
  126.       Iab  - Information
  127.       ?ccH - Unknown
  128.       a  = Next expected frame number (0 - 7)
  129.       b  = Frame number of this frame (0 - 7)
  130.       cc = Hexadecimal value
  131.  
  132.  In addition, one of the following characters will  be  displayed,
  133.  reflecting the protocol version, command/response bits,  and  the
  134.  poll/final bit:
  135.   (blank) = version 1 frame without poll/final bit
  136.         ! = version 1 frame with poll/final bit
  137.         ^ = version 2 command frame without poll bit
  138.         + = version 2 command frame with poll bit
  139.         - = version 2 response frame with final bit
  140.         v = version 2 response frame without final bit
  141.  
  142.  The protocol identifier field is displayed in hexadecimal
  143.  
  144.       An unattended mode, controlled by the 'U' command,  provides
  145.  for sending user supplied text to a connecting station, and  then
  146.  allows that station to leave a  brief  message.   This  mode  can
  147.  operate on all channels simultaneously, but in no way limits  the
  148.  operators ability to interact with one of the connected  channels
  149.  or  the  ability  to  make  outgoing  connect   requests.    When
  150.  unattended mode is enabled, link status messages  are  queued  to
  151.  the associated channel and not output to the terminal unless that
  152.  channel  is  currently  selected.   Link  status  messages   will
  153.  therefore  be  displayed  in   chronological   order   with   the
  154.  information from that channel.  In addition, text supplied by the
  155.  user with the 'U' command  will  be  sent  to  any  station  that
  156.  connects.  If channel 0  is  left  selected,  stations  may  then
  157.  connect and leave messages on channels 1 - 4 (limited by the  'Y'
  158.  parameter, of course).  The 'L' command may be used to  determine
  159.  if messages have been left on any channel.  Selecting  a  channel
  160.  containing messages will cause all link  status  and  information
  161.  from that channel to be displayed.  If  xon/xoff  handshaking  is
  162.  enabled, CONTROL-S and CONTROL-Q may  be  used  to  regulate  the
  163.  output to the terminal to allow comfortable reading.
  164.  
  165.                           COMMAND SUMMARY
  166.                           ===============
  167.  
  168.  COMMAND        PARAMETER               DESCRIPTION
  169.  -------        ---------               -----------
  170.    A (1)            0             Auto linefeed disabled
  171.                     1             Auto linefeed enabled
  172.    C        Cs1 [Cs2 ... Cs9]     Connect path (0=unproto path)
  173.    D                              Disconnect
  174.    E (1)            0             Echo input disabled
  175.                     1             Echo input enabled
  176.  * F (4)           1-15           Frame acknowledge (seconds)
  177.    G               [0]            Get information (host mode)
  178.                    [1]            Get link status (host mode)
  179.  * I                Cs            Tnc source callsign
  180.    JHOST (0)        0             Terminal mode enabled
  181.                     1             Host mode enabled
  182.    L              [0-4]           Display channel status
  183.    M (IU)        NIUSC+-          Monitor mode
  184.  * N (10)          0-127          Number of tries (0=forever)
  185.  * O (4)           1-7            Number of outstanding I frames
  186.    P (64)          0-255          P-persistence value
  187.    QRES                           Re-start firmware
  188.    R (1)            0             Repeater disabled
  189.                     1             Repeater enabled
  190.    S (0)           0-4            Select channel (0=unproto)
  191.    T (30)          0-127          Transmitter delay (10ms)
  192.    U (0)   0      [text]          Unattended mode disabled
  193.            1      [text]          Unattended mode enabled
  194.  * V (2)            1             Version 1 protocol initiated
  195.                     2             Version 2 protocol initiated
  196.    W (10)          0-127          Slot time interval (10ms)
  197.    X (1)            0             Transmitter PTT disabled
  198.                     1             Transmitter PTT enabled
  199.    Y (4)           0-4            Maximum connections
  200.    Z (3)            0             Flow disabled, xon/off disabled
  201.                     1             Flow enabled, xon/off disabled
  202.                     2             Flow disabled, xon/off enabled
  203.                     3             Flow enabled, xon/off enabled
  204.    @   B                          Display number of free buffers
  205.        D  (0)       0             Full duplex disabled
  206.                     1             Full duplex enabled
  207.        S                          Display current link state
  208.        T2 (100)    0-65535        Timer T2 interval (10ms)
  209.        T3 (18000)  0-65535        Timer T3 interval (10ms)
  210.        V  (0)       0             Callsign validation disabled
  211.                     1             Callsign validation enabled
  212.     Default values are shown in parenthesis
  213.  
  214.  *  These commands are applicable to each connection channel
  215.       (Values set on channel 0 are used upon power up and
  216.        disconnect to initialize each connection channel)
  217.  
  218.                         COMMAND DESCRIPTION
  219.                         ===================
  220.  
  221.       The 'A' command is used to enable or disable  the  automatic
  222.  insertion of LINEFEED characters after CARRIAGE RETURN characters
  223.  to the terminal.
  224.  
  225.       The 'C' command is used to initiate a link connection.  Note
  226.  that 'v' or 'via' is not required (but is  allowed)  between  the
  227.  destination callsign and the digipeater callsigns.  A 'C' command
  228.  may be  issued  on  a  channel  already  in  use  to  change  the
  229.  digipeater callsigns, but not the destination  callsign.   A  'C'
  230.  command issued when channel 0 is selected sets the unproto path.
  231.  
  232.       The 'D' command is used to initiate  a  link  disconnection.
  233.  If there is unsent or unacknowledged information  remaining,  the
  234.  disconnect request frame will not be sent until  all  information
  235.  has been transmitted and acknowledged.  No additional information
  236.  will be received after the 'D' command has been issued.  A second
  237.  'D' command may be entered  to  force  the  transmission  of  the
  238.  disconnect request frame before all information has been sent and
  239.  acknowledged.  A 'D' command issued during the establishment of a
  240.  link or after a disconnect request  frame  has  been  transmitted
  241.  will cause an immediate return to the disconnected state.  A  'D'
  242.  command issued on a disconnected channel will  re-initialize  the
  243.  connection dependent parameters to the values stored  in  channel
  244.  0.
  245.  
  246.       The 'E' command is used to enable or disable the echoing  of
  247.  input (commands and information) to the terminal.
  248.  
  249.       The 'F' command is used to  set  the  frame  acknowledgement
  250.  interval.  This interval is used to compute the timeout  interval
  251.  before a packet is retransmitted, using the formula:
  252.       time (seconds) = frame ack * (2 * number of digipeaters + 1)
  253.  A separate frame acknowlegement interval value is maintained  for
  254.  each connection channel.  The value stored in channel 0  is  used
  255.  to  initialize  each  connection  channel  upon   power   up   or
  256.  disconnection.
  257.  
  258.       The 'G' command is used to interrogate virtual tnc  channels
  259.  when host mode is enabled.  If no  parameter  is  specified,  the
  260.  next chronological item (information  or  link  status)  will  be
  261.  returned, provided there is one.   This  command  is  invalid  in
  262.  terminal  mode.   A  later  section  is  devoted  to  host   mode
  263.  operation.
  264.  
  265.       The 'I' command is used to set the tnc source callsign.  The
  266.  initial value is all blanks.  Changing the  tnc  source  callsign
  267.  while connected is not permitted.  If the tnc source callsign  is
  268.  left blank, the tnc will not allow connect  commands  or  unproto
  269.  transmissions.  The callsign stored  in  channel  0  is  used  to
  270.  initialize   each   connection   channel   upon   power   up   or
  271.  disconnection.
  272.  
  273.       The 'JHOST' command is used to select between  terminal  and
  274.  host modes.  A later section is devoted to host mode operation.
  275.  
  276.       The 'L' command is used to display the link status of one or
  277.  all channels.   Information  displayed  includes  the  connection
  278.  path, number of receive frames not yet displayed, number of  send
  279.  frames not yet transmitted, number of transmitted frames not  yet
  280.  acknowledged, and the  current  retry  count.   A  '+'  character
  281.  preceeding the channel number indicates  the  currently  selected
  282.  channel.  Operation of this command when host mode is enabled  is
  283.  somewhat different, and is described in a later section.
  284.  
  285.       The 'M' command is used to set the  frame  monitoring  mode.
  286.  The command parameter determines the types of  frames  monitored,
  287.  and is a list of desired frames chosen from the  letters  in  the
  288.  following table:
  289.  
  290.       LTR       FRAME
  291.       ---       -----
  292.        N        None
  293.        I        I frames
  294.        U        UI frames
  295.        S        Supervisory frames
  296.        C        Monitor while connected
  297.        +        Call signs to be included (maximum of 8)
  298.        -        Call signs to be excluded (maximum of 8)
  299.  
  300.  The '+' and '-' parameters may not be used together.   If  either
  301.  is used, it must be the last parameter (followed by one to  eight
  302.  callsigns, if applicable).  If no list of callsigns is  specified
  303.  to be included or excluded, all callsigns will be candidates  for
  304.  monitoring.  Entering a '+' or '-' with no callsigns  will  empty
  305.  the list.
  306.  
  307.       The 'N' command is used to set the maximum number of times a
  308.  frame  will  be  transmitted  without  receiving  an  appropriate
  309.  acknowledgement, before a link failure is  assumed.   A  separate
  310.  maximum number of tries value is maintained for  each  connection
  311.  channel.  The value stored in channel 0  is  used  to  initialize
  312.  each connection channel upon power up or disconnection.
  313.  
  314.       The 'O' command  is  used  to  set  the  maximum  number  of
  315.  unacknowledged I frames that may be outstanding at any one  time.
  316.  A separate maximum number of unacknowledged  I  frames  value  is
  317.  maintained for each connection  channel.   The  value  stored  in
  318.  channel 0 is used to  initialize  each  connection  channel  upon
  319.  power up or disconnection.
  320.  
  321.       The 'P' command is used to set the p-persistence value.   P-
  322.  persistence is used  during  simplex  operation  as  a  means  of
  323.  channel  arbitration.   Whenever   there   are   frames   to   be
  324.  transmitted, the tnc first waits for a clear channel.   Once  the
  325.  channel is clear, a random number between 0 and 255 is generated.
  326.  If the random number is less than or equal to  the  p-persistence
  327.  value,  the  PTT  line  is  asserted  and  transmission   begins.
  328.  Otherwise, the tnc delays for the slot time interval set  by  the
  329.  'W' command and the entire process is repeated.
  330.  
  331.       The  'QRES'  command  is  used  to  restart  the   firmware,
  332.  including re-initialization  of  battery-backed  RAM  to  default
  333.  parameters.
  334.  
  335.       The 'R' command is used to enable or disable the digipeating
  336.  of frames.
  337.  
  338.       The 'S' command  is  used  to  select  the  current  channel
  339.  number.
  340.  
  341.       The 'T' command is used to set the transmitter  keyup  delay
  342.  interval.  The parameter is specified in 10ms increments.
  343.  
  344.       The 'U' command is used  to  enable  or  disable  unattended
  345.  modes.
  346.  
  347.       The 'V' command is used to select whether  version  1  or  2
  348.  protocol will be used to initiate a link connection.  A  separate
  349.  protocol version value is maintained for each connection channel.
  350.  The value  stored  in  channel  0  is  used  to  initialize  each
  351.  connection channel upon power up or disconnection.  Interrogating
  352.  this parameter during a  connection  will  reflect  the  protocol
  353.  version currently being  used  on  that  channel.   Changing  the
  354.  protocol version during a connection is not permitted.
  355.  
  356.       The 'W' command is used to set the p-persistence  slot  time
  357.  interval.  P-persistence is used during simplex  operation  as  a
  358.  means of channel arbitration.  Whenever there are  frames  to  be
  359.  transmitted, the tnc first waits for a clear channel.   Once  the
  360.  channel is clear, a random number between 0 and 255 is generated.
  361.  If the random number is less than or equal to  the  p-persistence
  362.  value set by the 'P'  command,  the  PTT  line  is  asserted  and
  363.  transmission begins.  Otherwise, the tnc delays for the slot time
  364.  interval and the entire process is repeated.   The  parameter  is
  365.  specified in 10ms increments.
  366.  
  367.       The 'X' command is used to enable or disable the transmitter
  368.  PTT line.
  369.  
  370.       The 'Y' command  is  used  to  set  the  maximum  number  of
  371.  connections that may  established  by  incoming  requests.   This
  372.  command has no  effect  on  the  operators  ability  to  initiate
  373.  outgoing connection requests.
  374.  
  375.       The 'Z' command is used to enable or  disable  flow  control
  376.  and xon/xoff handshaking to the terminal.   If  flow  control  is
  377.  enabled, output to the terminal will be inhibited while  entering
  378.  commands or information.  If flow control is disabled, output  to
  379.  the terminal will not be restricted.  Flow control  and  xon/xoff
  380.  handshaking should be disabled during periods in which the tnc is
  381.  operated without a terminal, to  avoid  suspending  output  which
  382.  will consume buffers.  If xon/xoff handshaking  is  enabled,  crt
  383.  scrolling may be stopped and started using CONTROL-S and CONTROL-
  384.  Q characters.  Flow control  and  xon/xoff  handshaking  are  not
  385.  performed when host mode is enabled.
  386.  
  387.       The '@'  command  is  a  software  maintenance  command.   A
  388.  parameter of 'B' will display the number of  free  buffers.   The
  389.  'D' parameter is used to enable or disable full duplex  operation
  390.  of the HDLC port.  A parameter of 'S' will  display  the  current
  391.  link state.  The 'T2' parameter is  used  to  set  the  timer  T2
  392.  interval, just as the 'T3' parameter is used to set the timer  T3
  393.  interval.  The timer intervals are specified in 10ms  increments.
  394.  Timer T2 controls  the  amount  of  delay  between  the  time  an
  395.  information frame is received and the time the resulting response
  396.  frame  is  sent.   This  delay  allows  multiple  frames  to   be
  397.  acknowledged with a single response.  Timer T3 is  used  maintain
  398.  link integrity.  If there is no activity during the T3  interval,
  399.  the tnc  will  poll  to  verify  the  distant  station  is  still
  400.  connected.  The 'V'  parameter  is  used  to  enable  or  disable
  401.  callsign validation.
  402.  
  403.  
  404.                         HOST MODE OPERATION
  405.                         ===================
  406.  
  407.       Host mode is intended to provide a user  interface  suitable
  408.  for operation under control of a host  processor.   Commands  and
  409.  information to the tnc, as well as status  and  information  from
  410.  the tnc, are clearly identified to allow orderly and  unambiguous
  411.  communication.  To alleviate any need for  hardware  or  software
  412.  handshaking,  the  tnc  will  not  send  to  the  host  processor
  413.  unsolicited,  and  all  exchanges  are  limited  to  256   bytes.
  414.  Information transfers are fully transparent.
  415.  
  416.       When host mode is enabled, the first byte sent  to  the  tnc
  417.  must be a channel number.  If  information  is  being  sent,  the
  418.  second byte must be a binary 0.  If a command is being sent,  the
  419.  second byte must be a binary 1.   The  third  byte  must  be  the
  420.  binary length of the actual information or  command,  decremented
  421.  by 1 (vacuous information or commands are  not  permitted).   The
  422.  actual  information  or   command   bytes   must   follow   last.
  423.  Information sent to channel 0 will be sent unproto.   Information
  424.  sent to an unconnected channel 1 - 4 will be discarded.  The  tnc
  425.  will respond to both information  and  commands  with  a  channel
  426.  number first, followed by a binary code of 0, 1, or 2, signalling
  427.  success or failure.  Codes of 1 or 2 will be followed by  a  null
  428.  terminated message.  Channels may be  interrogated  for  incoming
  429.  information or link status by using  the  'G'  command.   Monitor
  430.  headers and monitor information will always be sent to channel 0,
  431.  along with connect request link status messages.  All other  link
  432.  status messages will be sent to the  appropriate  channel,  along
  433.  with that channels connected information.  In response to  a  'G'
  434.  command, the tnc  will  respond  with  a  channel  number  first,
  435.  followed by a binary code of 0 if  nothing  is  available,  or  a
  436.  binary code of 3 - 7, identifying the bytes that follow.  A  code
  437.  of  4  indicates  the  monitored  frame  does  not   contain   an
  438.  information field.  A code of 5  indicates  the  monitored  frame
  439.  does contain an information field, and the next  'G'  command  on
  440.  channel 0 will return that information field, preceeded by a code
  441.  of 6.
  442.           Host to Tnc
  443.           -----------
  444.  CHANNEL   CODE           DESCRIPTION
  445.  -------   ----           -----------
  446.     n       0        Information (preceeded by length-1)
  447.     n       1        Command     (preceeded by length-1)
  448.  
  449.           Tnc to Host
  450.           -----------
  451.  CHANNEL   CODE           DESCRIPTION
  452.  -------   ----           -----------
  453.     n       0        Success (nothing follows)
  454.     n       1        Success (message follows, null terminated)
  455.     n       2        Failure (message follows, null terminated)
  456.     n       3        Link Status (null terminated)
  457.     n       4        Monitor Header (null terminated)
  458.     n       5        Monitor Header (null terminated)
  459.     n       6        Monitor Information (preceeded by length-1)
  460.     n       7        Connect Information (preceeded by length-1)
  461.  
  462.  Success messages
  463.  ----------------
  464.  {channel status}
  465.  {parameter value}
  466.  CHANNEL NOT CONNECTED
  467.  
  468.  Failure messages
  469.  ----------------
  470.  INVALID CALLSIGN
  471.  MESSAGE TOO LONG
  472.  INVALID PARAMETER
  473.  INVALID BAUD RATE
  474.  NO SOURCE CALLSIGN
  475.  INVALID COMMAND: ?
  476.  NOT WHILE CONNECTED
  477.  INVALID VALUE: ?????
  478.  NO MESSAGE AVAILABLE
  479.  INVALID CHANNEL NUMBER
  480.  TNC BUSY - LINE IGNORED
  481.  CHANNEL ALREADY CONNECTED
  482.  STATION ALREADY CONNECTED
  483.  INVALID EXTENDED COMMAND: ?
  484.  
  485.  Link Status messages
  486.  --------------------
  487.  BUSY fm {call} via {digipeaters}
  488.  CONNECTED to {call} via {digipeaters}
  489.  LINK RESET fm {call} via {digipeaters}
  490.  LINK RESET to {call} via {digipeaters}
  491.  DISCONNECTED fm {call} via {digipeaters}
  492.  LINK FAILURE with {call} via {digipeaters}
  493.  CONNECT REQUEST fm {call} via {digipeaters}
  494.  FRAME REJECT fm {call} via {digipeaters} (x y z)
  495.  FRAME REJECT to {call} via {digipeaters} (x y z)
  496.  x y z = FRMR information bytes
  497.  
  498.  Monitor Header format
  499.  ---------------------
  500.  fm {call} to {call} via {digipeaters} ctl {name} pid {hex}
  501.  
  502.  Channel Status format
  503.  ---------------------
  504.  a b c d e f
  505.  a = Number of link status messages not yet displayed
  506.  b = Number of receive frames not yet displayed
  507.  c = Number of send frames not yet transmitted
  508.  d = Number of transmitted frames not yet acknowledged
  509.  e = Number of tries on current operation
  510.  f = Link state
  511.      Possible link states are:
  512.       0 = Disconnected
  513.       1 = Link Setup
  514.       2 = Frame Reject
  515.       3 = Disconnect Request
  516.       4 = Information Transfer
  517.       5 = Reject Frame Sent
  518.       6 = Waiting Acknowledgement
  519.       7 = Device Busy
  520.       8 = Remote Device Busy
  521.       9 = Both Devices Busy
  522.      10 = Waiting Acknowledgement and Device Busy
  523.      11 = Waiting Acknowledgement and Remote Busy
  524.      12 = Waiting Acknowledgement and Both Devices Busy
  525.      13 = Reject Frame Sent and Device Busy
  526.      14 = Reject Frame Sent and Remote Busy
  527.      15 = Reject Frame Sent and Both Devices Busy
  528.  NOTE 1:  Only items a and b are displayed for channel 0.
  529.  NOTE 2:  Only states 0 - 4 are possible if version 1 is in use.
  530.  
  531.                         DEFAULT PARAMETERS
  532.                         ==================
  533.       In some instances, it  may  be  desirable  to  have  default
  534.  parameters which differ from the standard values.  To allow  easy
  535.  access, all default parameters have been placed at the  beginning
  536.  of the EPROM at location 0040H.  The  following  listing  defines
  537.  the layout of this area:
  538.  
  539.       TYPE     VALUE          DESCRIPTION
  540.       ----     -----          -----------
  541.       BYTE      1BH           COMMAND CHARACTER
  542.       BYTE    '      ',60H    SOURCE CALLSIGN (SEE NOTE 1)
  543.       BYTE    '      '        MNEMONIC IDENTIFIER
  544.       BYTE      04H           MAXIMUM CONNECTIONS
  545.       BYTE      03H           MONITOR MODE (SEE NOTE 2)
  546.       BYTE      01H           REPEATER DISABLE/ENABLE
  547.       BYTE      40H           P-PERSISTENCE VALUE
  548.       BYTE      0AH           SLOT TIME INTERVAL (10ms)
  549.       BYTE      1EH           TRANSMITTER DELAY (10ms)
  550.       BYTE      03H           FLOW CONTROL MODE
  551.       BYTE      01H           TRANSMITTER PTT DISABLE/ENABLE
  552.       BYTE      01H           AUTO LINEFEED DISABLE/ENABLE
  553.       BYTE      01H           ECHO COMMAND LINE DISABLE/ENABLE
  554.       BYTE      01H           VERSION 2 INITIATED DISABLE/ENABLE
  555.       BYTE      04H           MAXIMUM UNACKNOWLEDGED FRAMES
  556.       BYTE      0AH           MAXIMUM TRY COUNT
  557.       BYTE      04H           FRAME ACKNOWLEDGE INTERVAL
  558.       BYTE      00H           VALIDATE CALLSIGN ENABLE/DISABLE
  559.       BYTE      00H           FULL DUPLEX ENABLE/DISABLE
  560.       BYTE      00H           8-BIT CHARACTER ENABLE/DISABLE
  561.       WORD      64H           TIMER T2 INTERVAL (10ms)
  562.       WORD     4650H          TIMER T3 INTERVAL (10ms)
  563.    DISABLE = 00H / ENABLE = 01H
  564.  
  565.  NOTE 1:  The secondary station id must be shifted  left  one  bit
  566.  and or'ed with 60H.
  567.  
  568.  NOTE 2:  The monitor mode is composed from the following bits:
  569.       BIT       FRAME
  570.       ---       -----
  571.        0        I frames
  572.        1        UI frames
  573.        2        Supervisory frames
  574.        3        Monitor while connected
  575.  
  576.